<?php
/**
 * 文件处理类
 * 
 * @version $Id: File.php 424 2013-02-19 11:14:07Z linsir123 $
 * @package Common
 */
class lpFile
{
	/**
	 * 写文件
	 * // 进行文件切割
	 * 
	 * @param string $file 文件路径
	 * @param string $content 内容
	 * @param string $mode 写入模式
	 * @param int $maxSize 文件大小(大于0则会进行切割)
	 * @static 
	 */
	static function write($file, $content, $mode = 'a+', $maxSize = 0)
	{
		if ($fp = @fopen($file, $mode)) {
			if ($maxSize > 0 && filesize($file) > $maxSize) {
				$tmp = array(time(), basename($file));
				$file2 = dirname($file) .'/'. implode('_', $tmp);
				
				///
				@fclose($fp);
				@rename($file, $file2);
				$fp = @fopen($file, 'w');
			}
			
			///
			@fwrite($fp, $content);
			@fclose($fp);
		}
	}
	
	/**
	 * 写文件缓存
	 * 
	 * @param string $file 文件缓存地址
	 * @param mixed $var 缓存内容
	 * @static 
	 */
	static function cache($file, $var)
	{
		$content = "<?php return ". var_export($var, true) .";";
		///
		self::write($file, $content, 'w');
	}
	
	/**
	 * 删除文件
	 * 
	 * @param string $file 待删除的文件
	 * @return bool
	 * @static 
	 */
	static function unlink($file)
	{
		return is_file($file) ? @unlink($file) : false;
	}
}
